home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shore-siege.swf / scripts / DefineSprite_457 / frame_1 / DoAction.as
Text File  |  2011-08-19  |  40KB  |  1,522 lines

  1. function onMouseDown()
  2. {
  3.    mousePressed = true;
  4. }
  5. function onMouseUp()
  6. {
  7.    mousePressed = false;
  8.    mouseHold = 0;
  9. }
  10. function pythag(x1, y1, x2, y2)
  11. {
  12.    return Math.sqrt(Math.pow(y1 - y2,2) + Math.pow(x1 - x2,2));
  13. }
  14. function angle(x1, y1, x2, y2)
  15. {
  16.    return Math.round(Math.atan2(y2 - y1,x2 - x1) / 3.141593 * 180) + 90;
  17. }
  18. function calcSpeed(angle, speed)
  19. {
  20.    var _loc2_ = angle * 0.01745329;
  21.    var _loc1_ = new Object();
  22.    _loc1_.x = speed * Math.cos(_loc2_);
  23.    _loc1_.y = speed * Math.sin(_loc2_);
  24.    return _loc1_;
  25. }
  26. function rotatedXY(xPos, yPos, rotate)
  27. {
  28.    var _loc1_ = new Object();
  29.    var _loc2_ = 0.017444444444444446 * rotate;
  30.    var _loc4_ = Math.sin(_loc2_);
  31.    var _loc3_ = Math.cos(_loc2_);
  32.    _loc1_.x = xPos * _loc3_ - yPos * _loc4_;
  33.    _loc1_.y = xPos * _loc4_ + yPos * _loc3_;
  34.    return _loc1_;
  35. }
  36. function onEnterFrame()
  37. {
  38.    if(gameState == 2)
  39.    {
  40.       pauseBut._alpha = 100;
  41.    }
  42.    else
  43.    {
  44.       pauseBut._alpha = 30;
  45.    }
  46.    if(_root.gamePaused == true)
  47.    {
  48.       Mouse.show();
  49.       _root.pScreen._x = -100;
  50.       _root.pScreen._y = -200;
  51.    }
  52.    else
  53.    {
  54.       _root.pScreen._x = -10000;
  55.       _root.pScreen._y = -1000;
  56.       if(_root.health <= 0)
  57.       {
  58.          if(deadTimer > 0)
  59.          {
  60.             if(deadTimer == 20)
  61.             {
  62.                SHIP._visible = false;
  63.             }
  64.             deadTimer--;
  65.             _root.health = 0;
  66.             _root.roundTimer = _root.roundTimer - 1;
  67.             if(random(4) == 0)
  68.             {
  69.                var _loc2_ = SHIP._x;
  70.                var _loc3_ = SHIP._y;
  71.                newEffect("Explosion",random(4),SHIP._x += random(100) - 50,SHIP._y += random(100) - 50);
  72.                SHIP._x = _loc2_;
  73.                SHIP._y = _loc3_;
  74.             }
  75.          }
  76.          else
  77.          {
  78.             _root.gotoAndStop("DEAD");
  79.          }
  80.       }
  81.       if(gameState == 0)
  82.       {
  83.          introMovie();
  84.       }
  85.       else if(gameState == 3)
  86.       {
  87.          outroMovie();
  88.       }
  89.       else if(gameState == 2)
  90.       {
  91.          if(gameActive == true)
  92.          {
  93.             spawnControl();
  94.             updateBlob();
  95.             updateShmallow();
  96.             updateRoller();
  97.             updateDino();
  98.             updateBird();
  99.             updateBloon();
  100.             updateVamp();
  101.             updateVampDead();
  102.             updateTurret();
  103.             updateBomb();
  104.             updatePirates();
  105.             if(_ymouse > HUDBAR._y - 10)
  106.             {
  107.                HUDBAR["T" + Math.ceil((_xmouse - 145) / 67)].gotoAndPlay(2);
  108.             }
  109.          }
  110.          dayControl();
  111.       }
  112.       controlWind();
  113.       controlWing();
  114.       controlSkew();
  115.       HUDBARControl();
  116.       flameControl();
  117.       updateCoins();
  118.       updateShake();
  119.       drawHandle();
  120.       mouseControl();
  121.       outPutText();
  122.    }
  123. }
  124. function setEnemyArray()
  125. {
  126.    enemyArray_blob = new Array();
  127.    enemyArray_shmallow = new Array();
  128.    enemyArray_roller = new Array();
  129.    enemyArray_dino = new Array();
  130.    enemyArray_bird = new Array();
  131.    enemyArray_bloon = new Array();
  132.    enemyArray_vamp = new Array();
  133.    enemyArray_ALL = new Array();
  134.    enemyArray_GROUND = new Array(enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  135.    enemyArray_AIR = new Array(enemyArray_vamp,enemyArray_bloon,enemyArray_bird,enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  136. }
  137. function newEnemy(type, layer)
  138. {
  139.    if(_root.roundTimer < _root.roundTimerMax - 10 || type == "turret" || type == "bomb")
  140.    {
  141.       var _loc3_ = this["ELAYER_" + layer].attachMovie("ENEMY_" + type,"E" + this["ELAYER_" + layer].getNextHighestDepth(),this["ELAYER_" + layer].getNextHighestDepth());
  142.       _loc3_._x = 850;
  143.       _loc3_._y = 250 + 20 * layer;
  144.       _loc3_.layer = layer;
  145.       this["enemyArray_" + type].push(_loc3_);
  146.       this["loadSettings_" + type](_loc3_);
  147.       type.toLowerCase();
  148.       if(type != "turret")
  149.       {
  150.          enemyArray_ALL.push(_loc3_);
  151.          enemyCounter++;
  152.       }
  153.       _loc3_.nom = type;
  154.       return _loc3_;
  155.    }
  156. }
  157. function loadSettings_blob(enemy)
  158. {
  159.    enemy.maxHealth = 10;
  160.    enemy.deadAnim = "Enemy_BSpat";
  161.    enemy.xSpeed = 0;
  162. }
  163. function loadSettings_shmallow(enemy)
  164. {
  165.    enemy.speed = 1.5 + random(3) / 10;
  166.    enemy.active = false;
  167.    enemy._y += 10;
  168.    enemy.maxHealth = 20;
  169.    enemy.anim.sprite.faceSprite.setMask(enemy.anim.sprite.faceMask);
  170. }
  171. function loadSettings_roller(enemy)
  172. {
  173.    enemy._y -= 5;
  174.    enemy.deadAnim = "Enemy_RSpat";
  175.    enemy.maxHealth = 15;
  176.    enemy.yPos = enemy._y;
  177.    enemy.active = false;
  178.    enemy.ySpeed = 0;
  179.    enemy.xSpeed = 0;
  180.    enemy.rotSpeed = 0;
  181. }
  182. function loadSettings_vampDead(enemy)
  183. {
  184.    enemy.yPos = enemy._y;
  185.    enemy._x = _root.weaponX;
  186.    enemy._y = _root.weaponY;
  187.    enemy.active = false;
  188.    enemy.ySpeed = 0;
  189.    enemy.xSpeed = 0;
  190.    enemy.rotSpeed = 0;
  191. }
  192. function loadSettings_dino(enemy)
  193. {
  194.    enemy.deadAnim = "Enemy_DSpat";
  195.    enemy._y += 10;
  196.    enemy.xSpeed = 0;
  197.    enemy.maxHealth = 60;
  198. }
  199. function loadSettings_vamp(enemy)
  200. {
  201.    enemy.deadAnim = "Enemy_VSpat";
  202.    enemy._y -= 80;
  203.    enemy.maxHealth = 200;
  204.    enemy.shadow._y += 80;
  205.    enemy.shadow._alpha = 30;
  206. }
  207. function loadSettings_bird(enemy)
  208. {
  209.    _root.bombVis = true;
  210.    enemy.bomb._alpha = 100;
  211.    enemy.maxHealth = 30;
  212.    enemy._xscale = 80;
  213.    enemy._yscale = 80;
  214.    enemy.flyaway = 0;
  215.    enemy.speed = 3 + (random(20) / 10 - 0.1);
  216.    enemy._y -= 90;
  217.    enemy.shadow._y += 125;
  218. }
  219. function loadSettings_bloon(enemy)
  220. {
  221.    enemy.sprite._rotation = (- controlWingAngleDivTen) / 5;
  222.    enemy.flyaway = 0;
  223.    enemy.speed = 3 + (random(20) / 10 - 0.1);
  224.    enemy._y -= 90;
  225.    enemy.maxHealth = 20;
  226.    enemy.shadow._y += 125;
  227. }
  228. function pinDeath(enemy, ammount)
  229. {
  230.    if(Pin.killActive == true)
  231.    {
  232.       if(enemy.hitTest(Pin._x,Pin._y) && enemy.pinSwitch != true)
  233.       {
  234.          enemy.pinSwitch = true;
  235.          if(hurtEnemy(enemy,ammount) == true)
  236.          {
  237.             return true;
  238.          }
  239.          return false;
  240.       }
  241.       if(enemy.hitTest(Pin._x,Pin._y) == false)
  242.       {
  243.          enemy.pinSwitch = false;
  244.       }
  245.    }
  246. }
  247. function updateBlob()
  248. {
  249.    var _loc2_ = 0;
  250.    while(_loc2_ < enemyArray_blob.length)
  251.    {
  252.       var _loc1_ = enemyArray_blob[_loc2_];
  253.       eolBuffer(_loc1_._x);
  254.       _loc1_._x -= _loc1_.xSpeed;
  255.       _loc1_.xSpeed += 0.5;
  256.       _loc1_.xSpeed /= 1.2;
  257.       _loc1_.sprite.skew(controlSkewAngle,0);
  258.       pinDeath(_loc1_,10);
  259.       if(_loc1_.health == 0)
  260.       {
  261.          newEffect("Enemy_BSpat",_loc1_.layer,_loc1_._x - 20,_loc1_._y - 20);
  262.          newCoins(1,_loc1_._x,_loc1_._y);
  263.          deleteEnemy(_loc1_,enemyArray_blob,_loc2_);
  264.       }
  265.       else if(_loc1_._x < castlePoint)
  266.       {
  267.          hurtShip(3);
  268.          newEffect("Enemy_BSpat",_loc1_.layer,_loc1_._x - 20,_loc1_._y - 20);
  269.          deleteEnemy(_loc1_,enemyArray_blob,_loc2_);
  270.       }
  271.       _loc2_ = _loc2_ + 1;
  272.    }
  273. }
  274. function updateShmallow()
  275. {
  276.    var _loc3_ = 0;
  277.    while(_loc3_ < enemyArray_shmallow.length)
  278.    {
  279.       var _loc2_ = enemyArray_shmallow[_loc3_];
  280.       eolBuffer(_loc2_._x);
  281.       if(_loc2_.active == true)
  282.       {
  283.          if(pythag(_loc2_._x,_loc2_._y,Flame._x,Flame._y) < 40)
  284.          {
  285.             if(_root.flameUpgrade == 2)
  286.             {
  287.                _loc2_.health -= 10;
  288.             }
  289.             else
  290.             {
  291.                _loc2_.health -= 1;
  292.             }
  293.             if(_loc2_.health < 0)
  294.             {
  295.                _loc2_.health = 0;
  296.             }
  297.             _loc2_.anim.sprite.nextFrame();
  298.             newEffect("Effect_Smoke",_loc2_.layer,_loc2_._x,_loc2_._y - 10);
  299.          }
  300.          if(_loc2_.health == 0)
  301.          {
  302.             newCoins(1,_loc2_._x,_loc2_._y);
  303.             deleteEnemy(_loc2_,enemyArray_shmallow,_loc3_);
  304.          }
  305.          else if(_loc2_._x > castlePoint)
  306.          {
  307.             _loc2_.anim.skew(controlSkewAngle,0);
  308.             _loc2_.anim._y += controlSkewAngleDivTen / 2;
  309.             _loc2_._x -= _loc2_.speed;
  310.             if(_loc2_._x < castlePoint)
  311.             {
  312.                _loc2_._y += 15;
  313.                _loc2_.hBar._y -= 15;
  314.                _loc2_.anim._y -= 15;
  315.             }
  316.          }
  317.          else
  318.          {
  319.             newEffect("Explosion",weapon.layer,weapon._x - 20,weapon._y - 20);
  320.             deleteEnemy(_loc2_,enemyArray_shmallow,_loc3_);
  321.          }
  322.       }
  323.       else if(controlSkewAngle == 16)
  324.       {
  325.          _loc2_.active = true;
  326.       }
  327.       _loc3_ = _loc3_ + 1;
  328.    }
  329. }
  330. function updateRoller()
  331. {
  332.    var _loc2_ = 0;
  333.    while(_loc2_ < enemyArray_roller.length)
  334.    {
  335.       var _loc1_ = enemyArray_roller[_loc2_];
  336.       eolBuffer(_loc1_._x);
  337.       if(_loc1_.active == false)
  338.       {
  339.          if(_loc1_._y > _loc1_.yPos - 5)
  340.          {
  341.             if(_loc1_._x > castlePoint)
  342.             {
  343.                _loc1_.xSpeed += 0.5;
  344.             }
  345.             else
  346.             {
  347.                _loc1_.xSpeed -= 0.5;
  348.             }
  349.             _loc1_.xSpeed /= 1.25;
  350.             _loc1_.rotSpeed /= 1.2;
  351.          }
  352.          _loc1_.ySpeed = _loc1_.ySpeed - 1;
  353.          _loc1_._x -= _loc1_.xSpeed;
  354.          _loc1_._y -= _loc1_.ySpeed;
  355.          if(_loc1_._y > _loc1_.yPos)
  356.          {
  357.             _loc1_._y = _loc1_.yPos;
  358.             _loc1_.ySpeed *= -0.5;
  359.          }
  360.          if(_loc1_._x < castlePoint + 5 && _loc1_._x > castlePoint - 5)
  361.          {
  362.             _loc1_.castleTimer = _loc1_.castleTimer + 1;
  363.             if(_loc1_.castleTimer > 20)
  364.             {
  365.                _loc1_._alpha *= -1;
  366.             }
  367.          }
  368.          else
  369.          {
  370.             _loc1_.castleTimer = 0;
  371.             _loc1_._alpha = 100;
  372.          }
  373.          if(_loc1_.castleTimer > 60)
  374.          {
  375.             _loc1_.deadSet = true;
  376.          }
  377.          if(mouseHold == 0 && mouseState == 1)
  378.          {
  379.             if(pythag(_xmouse,_ymouse,_loc1_._x,_loc1_._y) < 30)
  380.             {
  381.                mouseState = 2;
  382.                if(mousePressed == true)
  383.                {
  384.                   _loc1_.active = true;
  385.                   mouseHold = 1;
  386.                }
  387.             }
  388.          }
  389.          _loc1_.sprite._rotation -= 5 + _loc1_.rotSpeed;
  390.          _loc1_.rotSpeed /= 1.02;
  391.       }
  392.       else if(mousePressed == false)
  393.       {
  394.          _loc1_.active = false;
  395.       }
  396.       else
  397.       {
  398.          mouseState = 3;
  399.          var _loc4_ = _loc1_._x;
  400.          var _loc3_ = _loc1_._y;
  401.          _loc1_._x += (_xmouse - _loc1_._x) / 3;
  402.          _loc1_._y += (_ymouse - _loc1_._y) / 3;
  403.          if(_loc1_._y > _loc1_.yPos)
  404.          {
  405.             _loc1_._y = _loc1_.yPos;
  406.          }
  407.          _loc1_.xSpeed = (_loc1_._x - _xmouse) / 3;
  408.          _loc1_.ySpeed = (_loc1_._y - _ymouse) / 3;
  409.          _loc1_.rotSpeed = random(100) - 50;
  410.       }
  411.       if(_loc1_._x > 800)
  412.       {
  413.          _loc1_._x = 800;
  414.          _loc1_.xSpeed *= -1;
  415.       }
  416.       else if(_loc1_._y > _loc1_.yPos - 5 && _loc1_._x < 80 || _loc1_.health <= 0 || _loc1_._x < 0)
  417.       {
  418.          newEffect("Effect_Steam",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  419.          newCoins(2,_loc1_._x,_loc1_._y);
  420.          deleteEnemy(_loc1_,enemyArray_roller,_loc2_);
  421.       }
  422.       else if(_loc1_.deadSet == true)
  423.       {
  424.          newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  425.          deleteEnemy(_loc1_,enemyArray_roller,_loc2_);
  426.       }
  427.       else if(_loc1_._x < 80)
  428.       {
  429.          _loc1_.shadow._alpha *= -1;
  430.       }
  431.       else
  432.       {
  433.          _loc1_.shadow._alpha = 100;
  434.       }
  435.       _loc1_.shadow._y = _loc1_.yPos - _loc1_._y + 15;
  436.       _loc2_ = _loc2_ + 1;
  437.    }
  438. }
  439. function updateDino()
  440. {
  441.    var _loc2_ = 0;
  442.    while(_loc2_ < enemyArray_dino.length)
  443.    {
  444.       var _loc1_ = enemyArray_dino[_loc2_];
  445.       eolBuffer(_loc1_._x);
  446.       if(_loc1_.xSpeed < 1)
  447.       {
  448.          _loc1_.xSpeed += 1;
  449.       }
  450.       _loc1_._x -= _loc1_.xSpeed;
  451.       if(_loc1_._x < castlePoint)
  452.       {
  453.          newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  454.          deleteEnemy(_loc1_,enemyArray_dino,_loc2_);
  455.       }
  456.       else if(_loc1_.health == 0)
  457.       {
  458.          newCoins(4,_loc1_._x,_loc1_._y);
  459.          deleteEnemy(_loc1_,enemyArray_dino,_loc2_);
  460.       }
  461.       _loc2_ = _loc2_ + 1;
  462.    }
  463. }
  464. function updateVamp()
  465. {
  466.    var _loc4_ = 0;
  467.    while(_loc4_ < enemyArray_vamp.length)
  468.    {
  469.       var _loc2_ = enemyArray_vamp[_loc4_];
  470.       eolBuffer(_loc2_._x);
  471.       _loc2_._x -= 3;
  472.       _loc2_._y += controlSkewAngleDivTen / 5;
  473.       if(pythag(_loc2_._x,_loc2_._y,Flame._x,Flame._y) < 40)
  474.       {
  475.          if(_loc2_.health < _loc2_.maxHealth)
  476.          {
  477.             _loc2_.health = _loc2_.health + 1;
  478.          }
  479.       }
  480.       if(pythag(_loc2_._x,_loc2_._y,Water._x,Water._y) < 40)
  481.       {
  482.          if(_root.dropUpgrade == 2)
  483.          {
  484.             _loc2_.health -= 100;
  485.             var _loc3_ = 0;
  486.             while(_loc3_ < 10)
  487.             {
  488.                newEffect("Effect_Steam",_loc2_.layer,_loc2_._x,_loc2_._y);
  489.                _loc3_ = _loc3_ + 1;
  490.             }
  491.          }
  492.          else
  493.          {
  494.             _loc2_.health -= 10;
  495.          }
  496.          _loc2_.soundBox.play();
  497.          if(_loc2_.health < 0)
  498.          {
  499.             _loc2_.health = 0;
  500.          }
  501.          _loc2_.sprite._alpha -= 2;
  502.          newEffect("Effect_Steam",_loc2_.layer,_loc2_._x,_loc2_._y);
  503.       }
  504.       if(_loc2_.health == 0)
  505.       {
  506.          newCoins(3,_loc2_._x,_loc2_._y);
  507.          deleteEnemy(_loc2_,enemyArray_vamp,_loc4_);
  508.       }
  509.       else if(_loc2_._x < castlePoint - 20)
  510.       {
  511.          hurtShip(10);
  512.          newEffect("Explosion",_loc2_.layer,_loc2_._x,_loc2_._y + 20);
  513.          deleteEnemy(_loc2_,enemyArray_vamp,_loc4_);
  514.       }
  515.       else if(_loc2_._x < castlePoint + 100)
  516.       {
  517.          _loc2_._y += 1;
  518.          _loc2_.shadow._y -= 1;
  519.       }
  520.       _loc4_ = _loc4_ + 1;
  521.    }
  522. }
  523. function updateBird()
  524. {
  525.    var _loc3_ = 0;
  526.    while(_loc3_ < enemyArray_bird.length)
  527.    {
  528.       var _loc2_ = enemyArray_bird[_loc3_];
  529.       eolBuffer(_loc2_._x);
  530.       _loc2_.wingR._rotation = controlWingAngle;
  531.       _loc2_.wingL.wingL._rotation = controlWingAngle;
  532.       _loc2_._x -= _loc2_.speed;
  533.       if(_loc2_.health == 0)
  534.       {
  535.          newCoins(2,_loc2_._x,_loc2_._y);
  536.          deleteEnemy(_loc2_,enemyArray_bird,_loc3_);
  537.       }
  538.       else if(_loc2_._x < castlePoint - 10)
  539.       {
  540.          if(_loc2_._y > 0)
  541.          {
  542.             _loc2_._y -= _loc2_.flyaway;
  543.             _loc2_.bomb._alpha = 0;
  544.             _loc2_.shadow._y += _loc2_.flyaway * 1.2;
  545.             _loc2_.shadow._alpha /= 1.05;
  546.             if(_loc2_.flyaway == 0)
  547.             {
  548.                _root.weaponX = _loc2_._x;
  549.                _root.weaponY = _loc2_._y;
  550.                newEnemy("bomb",_loc2_.layer);
  551.             }
  552.             else if(_loc2_.flyAway == 3)
  553.             {
  554.                hurtShip(8);
  555.             }
  556.             _loc2_.flyaway += 0.5;
  557.             _loc2_.speed /= 1.05;
  558.          }
  559.          else
  560.          {
  561.             deleteEnemy(_loc2_,enemyArray_bird,_loc3_);
  562.          }
  563.       }
  564.       else
  565.       {
  566.          _loc2_._y -= controlWingAngleDivTen;
  567.          _loc2_.shadow._y += controlWingAngleDivTen;
  568.       }
  569.       _loc3_ = _loc3_ + 1;
  570.    }
  571. }
  572. function updateBloon()
  573. {
  574.    var _loc3_ = 0;
  575.    while(_loc3_ < enemyArray_bloon.length)
  576.    {
  577.       var _loc2_ = enemyArray_bloon[_loc3_];
  578.       eolBuffer(_loc2_._x);
  579.       _loc2_._x -= _loc2_.speed / 3;
  580.       if(_loc2_.health == 0)
  581.       {
  582.          newCoins(4,_loc2_._x,_loc2_._y);
  583.          newEffect("Enemy_BSpat",_loc2_.layer,_loc2_._x - 20,_loc2_._y - 20);
  584.          deleteEnemy(_loc2_,enemyArray_bloon,_loc3_);
  585.       }
  586.       else if(_loc2_._x < castlePoint)
  587.       {
  588.          if(_loc2_._y > 0)
  589.          {
  590.             _loc2_._y -= _loc2_.flyaway;
  591.             _loc2_.shadow._y += _loc2_.flyaway * 1.2;
  592.             _loc2_.shadow._alpha /= 1.05;
  593.             if(_loc2_.flyaway == 0 || _loc2_.flyaway == 4 || _loc2_.flyaway == 8)
  594.             {
  595.                _root.weaponX = _loc2_._x;
  596.                _root.weaponY = _loc2_._y;
  597.                newEnemy("bomb",_loc2_.layer);
  598.             }
  599.             _loc2_.flyaway += 0.5;
  600.             _loc2_.speed /= 1.05;
  601.          }
  602.          else
  603.          {
  604.             deleteEnemy(_loc2_,enemyArray_bloon,_loc3_);
  605.          }
  606.       }
  607.       else
  608.       {
  609.          _loc2_.sprite._rotation -= controlWingAngleDivTen / 5;
  610.       }
  611.       _loc2_._xscale = 100;
  612.       _loc2_._yscale = 100;
  613.       if(_root.nailUpgrade == 2)
  614.       {
  615.          pinState = pinDeath(_loc2_,50);
  616.       }
  617.       else
  618.       {
  619.          pinState = pinDeath(_loc2_,5);
  620.       }
  621.       if(pinState == true)
  622.       {
  623.          newEnemy("bomb",_loc2_.layer - 1 + iii);
  624.       }
  625.       else if(pinState == false)
  626.       {
  627.          _loc2_._xscale = 90;
  628.          _loc2_._yscale = 90;
  629.       }
  630.       _loc3_ = _loc3_ + 1;
  631.    }
  632. }
  633. function loadSettings_bomb(weapon)
  634. {
  635.    weapon._x = _root.weaponX;
  636.    weapon._y = _root.weaponY;
  637.    weapon._xscale = 70;
  638.    weapon._yscale = 70;
  639.    weapon.ySpeed = 0;
  640.    weapon._rotation = -20;
  641.    weapon.dropPos = 260 + 20 * weapon.layer;
  642. }
  643. function loadSettings_turret(weapon)
  644. {
  645.    weapon.active = false;
  646.    weapon.timer = 0;
  647.    weapon.health = 0;
  648.    weapon.maxHealth = 40;
  649.    weapon.fireTimer = 0;
  650.    weapon._x = _root.weaponX;
  651.    weapon._y = _root.weaponY;
  652.    weapon.gotoAndStop(2);
  653. }
  654. function updateTurret()
  655. {
  656.    var _loc3_ = 0;
  657.    while(_loc3_ < enemyArray_turret.length)
  658.    {
  659.       var _loc1_ = enemyArray_turret[_loc3_];
  660.       if(_loc1_.active == false)
  661.       {
  662.          if(_loc1_.health < _loc1_.maxHealth - 1)
  663.          {
  664.             _loc1_.health += 0.8;
  665.             if(_loc1_.health > _loc1_.maxHealth)
  666.             {
  667.                _loc1_.health = _loc1_.maxHealth;
  668.             }
  669.          }
  670.          else if(_loc1_.health == _loc1_.maxHealth)
  671.          {
  672.             _loc1_.health = 0;
  673.          }
  674.          if(_loc1_.timer < 20)
  675.          {
  676.             _loc1_.timer += 2;
  677.             _loc1_.health += 2;
  678.          }
  679.          else
  680.          {
  681.             _loc1_.nextFrame();
  682.             _loc1_.timer = 0;
  683.          }
  684.       }
  685.       else
  686.       {
  687.          if(_loc1_.fireTimer > 0)
  688.          {
  689.             shakeScreen(3,5);
  690.             _loc1_.barrel.play();
  691.             _loc1_.fireTimer = _loc1_.fireTimer - 1;
  692.             _loc1_.health -= 1;
  693.          }
  694.          else
  695.          {
  696.             var _loc5_ = false;
  697.             if(_loc1_.timer == 0)
  698.             {
  699.                _loc3_ = 0;
  700.                while(_loc3_ < enemyArray_GROUND.length)
  701.                {
  702.                   var _loc4_ = 0;
  703.                   while(_loc4_ < enemyArray_GROUND[_loc3_].length)
  704.                   {
  705.                      var _loc2_ = enemyArray_GROUND[_loc3_][_loc4_];
  706.                      if(_loc2_.layer == _loc1_.layer)
  707.                      {
  708.                         if(_loc2_._x > _loc1_._x + 10 && _loc2_._x < _loc1_._x + 400 && _loc2_._y > _loc1_._y - 20)
  709.                         {
  710.                            drawBullet(_loc1_._x + 20,_loc1_._y - 10 + random(5),_loc2_._x,_loc2_._y - 15);
  711.                            _loc5_ = true;
  712.                            _loc2_.xSpeed -= 5 + random(10);
  713.                            _loc2_.ySpeed -= 10 + random(5);
  714.                            hurtEnemy(_loc2_,5);
  715.                         }
  716.                      }
  717.                      _loc4_ = _loc4_ + 1;
  718.                   }
  719.                   _loc3_ = _loc3_ + 1;
  720.                }
  721.                _loc1_.timer = 15 + random(10);
  722.             }
  723.             else
  724.             {
  725.                _loc1_.timer = _loc1_.timer - 1;
  726.             }
  727.             if(_loc5_ == true)
  728.             {
  729.                weapn.timer = 2;
  730.                _loc1_.fireTimer = 5;
  731.             }
  732.          }
  733.          if(_loc1_.health <= 0)
  734.          {
  735.             bombBlast(_loc1_._x,_loc1_._y);
  736.             newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y + 20);
  737.             deleteEnemy(_loc1_,enemyArray_turret,_loc3_);
  738.          }
  739.       }
  740.       _loc3_ = _loc3_ + 1;
  741.    }
  742. }
  743. function updateBomb()
  744. {
  745.    var _loc2_ = 0;
  746.    while(_loc2_ < enemyArray_bomb.length)
  747.    {
  748.       var _loc1_ = enemyArray_bomb[_loc2_];
  749.       _loc1_._x += _loc1_.xSpeed;
  750.       _loc1_._y += _loc1_.ySpeed;
  751.       _loc1_.ySpeed += 0.8;
  752.       if(_loc1_._y > _loc1_.dropPos)
  753.       {
  754.          bombBlast(_loc1_._x,_loc1_._y);
  755.          newEffect("Explosion",_loc1_.layer,_loc1_._x - 20,_loc1_._y - 20);
  756.          deleteEnemy(_loc1_,enemyArray_bomb,_loc2_);
  757.       }
  758.       _loc2_ = _loc2_ + 1;
  759.    }
  760. }
  761. function bombBlast(xPos, yPos)
  762. {
  763.    var _loc3_ = 0;
  764.    while(_loc3_ < enemyArray_AIR.length)
  765.    {
  766.       var _loc2_ = 0;
  767.       while(_loc2_ < enemyArray_AIR[_loc3_].length)
  768.       {
  769.          var _loc1_ = enemyArray_AIR[_loc3_][_loc2_];
  770.          if(pythag(xPos,yPos,_loc1_._x,_loc1_._y) < 90)
  771.          {
  772.             hurtEnemy(_loc1_,50);
  773.          }
  774.          _loc2_ = _loc2_ + 1;
  775.       }
  776.       _loc3_ = _loc3_ + 1;
  777.    }
  778. }
  779. function enemyEffect(enemy)
  780. {
  781.    newEffect(enemy.deadAnim,enemy.layer,enemy._x,enemy._y);
  782. }
  783. function newEffect(type, layer, xPos, yPos)
  784. {
  785.    var _loc2_ = this["ELAYER_" + layer].attachMovie(type,this["ELAYER_" + layer].getNextHighestDepth(),this["ELAYER_" + layer].getNextHighestDepth());
  786.    _loc2_._x = xPos;
  787.    _loc2_._y = yPos;
  788. }
  789. function drawHandle()
  790. {
  791.    if(clearTimer == 3)
  792.    {
  793.       clearTimer = 0;
  794.       EFFECTS.clear();
  795.       EFFECTS.lineStyle(1 + random(10) / 10,10857729,random(50) + 30);
  796.    }
  797.    else
  798.    {
  799.       clearTimer++;
  800.    }
  801. }
  802. function drawBullet(x1, y1, x2, y2)
  803. {
  804.    EFFECTS.moveTo(x1,y1);
  805.    EFFECTS.lineTo(x2,y2);
  806. }
  807. function shakeScreen(ammount, time)
  808. {
  809.    if(ammount >= shakeAmmount)
  810.    {
  811.       shakeAmmount = ammount;
  812.       shakeTime = time;
  813.    }
  814. }
  815. function updateShake()
  816. {
  817.    _X = 0 + random(shakeAmmount) - shakeAmmount / 2;
  818.    _Y = 0 + random(shakeAmmount) - shakeAmmount / 2;
  819.    shakeAmmount /= 1 + shakeTime / 10;
  820. }
  821. function catchBird(xPos, yPos)
  822. {
  823.    var _loc6_ = true;
  824.    var _loc3_ = 0;
  825.    while(_loc3_ < enemyArray_bird.length)
  826.    {
  827.       var _loc2_ = enemyArray_bird[_loc3_];
  828.       if(_loc2_.health > 0)
  829.       {
  830.          if(pythag(xPos,yPos,_loc2_._x,_loc2_._y - 10) < 40)
  831.          {
  832.             var _loc7_ = WEAPONS.attachMovie("BirdCatcher","BC" + WEAPONS.getNextHighestDepth(),WEAPONS.getNextHighestDepth());
  833.             _loc7_._x = xPos;
  834.             _loc7_._y = yPos;
  835.             if(_loc2_.bomb._alpha > 0)
  836.             {
  837.                _root.weaponX = _loc2_._x;
  838.                _root.weaponY = _loc2_._y;
  839.                newEnemy("bomb",_loc2_.layer);
  840.             }
  841.             newCoins(2,_loc2_._x,_loc2_._y);
  842.             deleteEnemy(_loc2_,enemyArray_bird,_loc3_);
  843.             _loc6_ = false;
  844.             break;
  845.          }
  846.       }
  847.       _loc3_ = _loc3_ + 1;
  848.    }
  849.    if(_loc6_ == true)
  850.    {
  851.       _loc7_ = WEAPONS.attachMovie("BirdCatcher_fail","BC" + WEAPONS.getNextHighestDepth(),WEAPONS.getNextHighestDepth());
  852.       _loc7_._x = xPos;
  853.       _loc7_._y = yPos;
  854.    }
  855. }
  856. function updatePirates()
  857. {
  858.    var _loc4_ = 1;
  859.    while(_loc4_ < 5)
  860.    {
  861.       var _loc3_ = this["pirateMan" + _loc4_];
  862.       if(_loc3_.health < 3)
  863.       {
  864.          _loc3_.ammoPrompt._visible = true;
  865.       }
  866.       else
  867.       {
  868.          _loc3_.ammoPrompt._visible = false;
  869.       }
  870.       if(this["pirateMan" + _loc4_]._visible == true && this["pirateMan" + _loc4_].health > 0)
  871.       {
  872.          if(_loc3_.active == true && _loc3_.shootTime == 0)
  873.          {
  874.             if(pirateAim(_loc3_,random(enemyArray_AIR.length)) == true)
  875.             {
  876.                _loc3_.shootTime = _root.pirateShootTime - _root.pirateTrain / 2 + random(20);
  877.             }
  878.          }
  879.          else
  880.          {
  881.             _loc3_.shootTime = _loc3_.shootTime - 1;
  882.          }
  883.       }
  884.       _loc4_ = _loc4_ + 1;
  885.    }
  886. }
  887. function pirateAim(pirate, cycle)
  888. {
  889.    var _loc5_ = false;
  890.    var _loc7_ = false;
  891.    var _loc3_ = cycle;
  892.    while(_loc3_ < enemyArray_AIR.length)
  893.    {
  894.       var _loc4_ = 0;
  895.       while(_loc4_ < enemyArray_AIR[_loc3_].length)
  896.       {
  897.          var _loc1_ = enemyArray_AIR[_loc3_][_loc4_];
  898.          if(_loc5_ == false)
  899.          {
  900.             if(_loc1_._x < 550)
  901.             {
  902.                hurtEnemy(_loc1_,10);
  903.                pirate.arm.play();
  904.                pirate.arm._rotation = angle(pirate._x,pirate._y,_loc1_._x,_loc1_._y) - 90;
  905.                drawBullet(pirate._x,pirate._y,_loc1_._x,_loc1_._y);
  906.                pirate.health = pirate.health - 1;
  907.                _loc5_ = true;
  908.             }
  909.          }
  910.          _loc4_ = _loc4_ + 1;
  911.       }
  912.       if(_loc3_ == enemyArray_AIR.length)
  913.       {
  914.          _loc3_ = 0;
  915.       }
  916.       else if(_loc3_ == cycle && _loc7_ == false)
  917.       {
  918.          _loc7_ = true;
  919.       }
  920.       else if(_loc3_ == cycle)
  921.       {
  922.          break;
  923.       }
  924.       _loc3_ = _loc3_ + 1;
  925.    }
  926.    return _loc5_;
  927. }
  928. function deleteEnemy(enemy, array, i)
  929. {
  930.    enemyCounter--;
  931.    if(enemy.nom == "turret")
  932.    {
  933.       enemyCounter++;
  934.       trace("TURRET REMOVED");
  935.    }
  936.    enemy.removeMovieClip();
  937.    array.splice(i,1);
  938. }
  939. function flameControl()
  940. {
  941.    Flame._alpha = random(50) + 30;
  942.    if(random(4) == 0)
  943.    {
  944.       Flame._xscale = 90 + random(20);
  945.    }
  946.    if(random(4) == 0)
  947.    {
  948.       Flame._yscale = 70 + random(30);
  949.    }
  950. }
  951. function controlWind()
  952. {
  953.    BG.clouds._x += controlWindPower;
  954.    BG.waves._x += controlWingAngleDivTen / 2;
  955.    if(BG.clouds._x < -800)
  956.    {
  957.       BG.clouds._x += 800;
  958.    }
  959.    else if(BG.clouds._x > 0)
  960.    {
  961.       BG.clouds._x -= 800;
  962.    }
  963. }
  964. function controlWing()
  965. {
  966.    if(controlWingAngle < 45 && controlWingSwitch == false)
  967.    {
  968.       controlWingAngle += 20;
  969.    }
  970.    else if(controlWingAngle > -45 && controlWingSwitch == true)
  971.    {
  972.       controlWingAngle -= 20;
  973.    }
  974.    else if(controlWingSwitch == true)
  975.    {
  976.       controlWingSwitch = false;
  977.    }
  978.    else
  979.    {
  980.       controlWingSwitch = true;
  981.    }
  982.    controlWingAngleDivTen = controlWingAngle / 15;
  983. }
  984. function controlSkew()
  985. {
  986.    if(controlSkewAngle < 16 && controlSkewSwitch == false)
  987.    {
  988.       controlSkewAngle += 4;
  989.    }
  990.    else if(controlSkewAngle > -16 && controlSkewSwitch == true)
  991.    {
  992.       controlSkewAngle -= 2;
  993.    }
  994.    else if(controlSkewSwitch == true)
  995.    {
  996.       controlSkewSwitch = false;
  997.    }
  998.    else
  999.    {
  1000.       controlSkewSwitch = true;
  1001.    }
  1002.    controlSkewAngleDivTen = controlSkewAngle / 10;
  1003. }
  1004. function mouseControl()
  1005. {
  1006.    mouseMC.gotoAndStop(mouseState);
  1007.    if(mouseState != 1)
  1008.    {
  1009.       if(changeStateFlag < 1)
  1010.       {
  1011.          changeStateFlag++;
  1012.       }
  1013.       else
  1014.       {
  1015.          mouseState = 1;
  1016.          changeStateFlag = 0;
  1017.       }
  1018.    }
  1019.    mouseMC._x = _xmouse;
  1020.    mouseMC._y = _ymouse;
  1021. }
  1022. function hurtEnemy(enemy, ammount)
  1023. {
  1024.    if(ammount > 1)
  1025.    {
  1026.       ammount = Math.round(ammount);
  1027.       enemy.health -= ammount;
  1028.       var _loc1_ = EFFECTS.attachMovie("HPP","H",EFFECTS.getNextHighestDepth());
  1029.       _loc1_._x = enemy._x;
  1030.       _loc1_._y = enemy._y;
  1031.       _loc1_.textBox = "- " + ammount + " HP";
  1032.       if(enemy.health <= 0)
  1033.       {
  1034.          enemy.health = 0;
  1035.          return true;
  1036.       }
  1037.    }
  1038. }
  1039. function hurtShip(ammount)
  1040. {
  1041.    W_H._visible = true;
  1042.    _root.healthPot += ammount;
  1043.    shakeScreen(ammount * 3,3);
  1044.    shipHealth.flasher._alpha = 100;
  1045. }
  1046. function HUDBARControl()
  1047. {
  1048.    var _loc2_ = Math.round(100 / _root.maxHealth * _root.health);
  1049.    if(shipHealth.flasher._alpha > 0)
  1050.    {
  1051.       shipHealth.flasher._alpha -= 5;
  1052.       shipHealth.flasher._width = shipHealth.bar._currentframe * 2;
  1053.       if(shipHealth.flasher._width < 40 && shipHealth.flasher._alpha <= 0)
  1054.       {
  1055.          shipHealth.flasher._alpha = 40;
  1056.       }
  1057.    }
  1058.    if(_root.healthPot > 0)
  1059.    {
  1060.       _root.health = _root.health - 1;
  1061.       _root.healthPot = _root.healthPot - 1;
  1062.    }
  1063.    shipHealth.bar.gotoAndStop(_loc2_);
  1064. }
  1065. function newEffect(type, layer, xPos, yPos)
  1066. {
  1067.    var _loc2_ = this["ELAYER_" + layer].attachMovie(type,this["ELAYER_" + layer].getNextHighestDepth(),this["ELAYER_" + layer].getNextHighestDepth());
  1068.    _loc2_._x = xPos;
  1069.    _loc2_._y = yPos;
  1070. }
  1071. function newCoins(ammount, xPos, yPos)
  1072. {
  1073.    var _loc2_ = 0;
  1074.    while(_loc2_ < ammount)
  1075.    {
  1076.       var _loc1_ = ELAYER_4.attachMovie("Coin","C" + ELAYER_4.getNextHighestDepth(),ELAYER_4.getNextHighestDepth());
  1077.       _loc1_._x = xPos;
  1078.       _loc1_._y = yPos;
  1079.       _loc1_._xscale += random(20);
  1080.       _loc1_._yscale = _loc1_._xscale;
  1081.       _loc1_.xSpeed = random(10) - 5;
  1082.       _loc1_.ySpeed = - (random(3) + 2);
  1083.       _loc1_.timer = 20;
  1084.       _loc1_.rotSpeed = random(20) - 10;
  1085.       coinArray.push(_loc1_);
  1086.       _loc2_ = _loc2_ + 1;
  1087.    }
  1088. }
  1089. function updateCoins()
  1090. {
  1091.    if(_root.moneyPot > 0)
  1092.    {
  1093.       _root.money += 9;
  1094.       _root.moneyPot -= 9;
  1095.    }
  1096.    else
  1097.    {
  1098.       _root.money += _root.moneyPot;
  1099.       _root.moneyPot = 0;
  1100.    }
  1101.    var _loc3_ = 0;
  1102.    while(_loc3_ < coinArray.length)
  1103.    {
  1104.       var _loc2_ = coinArray[_loc3_];
  1105.       _loc2_.timer = _loc2_.timer - 1;
  1106.       if(_loc2_.timer > 0)
  1107.       {
  1108.          _loc2_._x += _loc2_.xSpeed;
  1109.          _loc2_._y += _loc2_.ySpeed;
  1110.          _loc2_._rotation += _loc2_.rotSpeed;
  1111.          _loc2_.ySpeed += 0.5;
  1112.       }
  1113.       else if(_loc2_.timer > -12)
  1114.       {
  1115.          _loc2_._x -= (_loc2_._x - Coin._x) / 7;
  1116.          _loc2_._y -= (_loc2_._y - Coin._y) / 7;
  1117.       }
  1118.       else
  1119.       {
  1120.          HUDBAR.tBox.gotoAndPlay(2);
  1121.          _root.moneyPot += 50 + _loc2_._xscale - 80;
  1122.          _loc2_.removeMovieClip();
  1123.          coinArray.splice(_loc3_,1);
  1124.       }
  1125.       _loc3_ = _loc3_ + 1;
  1126.    }
  1127. }
  1128. function newDay()
  1129. {
  1130.    _root.roundTimer = 0;
  1131.    if(_root.roundNum != "O")
  1132.    {
  1133.       _root.roundNum = _root.roundNum + 1;
  1134.       itemUnlock();
  1135.    }
  1136.    else
  1137.    {
  1138.       attachMovie("OUTRO","OUTROE",getNextHighestDepth());
  1139.       OUTROE._y -= 5;
  1140.    }
  1141.    dayEnded = false;
  1142.    gameActive = true;
  1143.    controlWindPower = (random(600) - 300) / 100;
  1144. }
  1145. function dayControl()
  1146. {
  1147.    if(_root.roundNum == 1)
  1148.    {
  1149.       _root.roundTimer += 2;
  1150.    }
  1151.    else if(_root.roundNum == 2)
  1152.    {
  1153.       _root.roundTimer += 1.5;
  1154.    }
  1155.    else if(_root.roundTimer < _root.roundTimerMax + 5)
  1156.    {
  1157.       _root.roundTimer = _root.roundTimer + 1;
  1158.    }
  1159.    else
  1160.    {
  1161.       _root.roundTimer = _root.roundTimer - 1;
  1162.    }
  1163.    var _loc2_ = Math.floor(200 / _root.roundTimerMax * _root.roundTimer);
  1164.    BG.ozone.gotoAndStop(_loc2_);
  1165.    if(_root.roundTimer < _root.roundTimerMax)
  1166.    {
  1167.       HUDBAR.clock.hand._rotation = _loc2_ - 100;
  1168.    }
  1169.    _root.eolBuffer = _root.eolBuffer - 1;
  1170.    if(_root.roundTimer > _root.roundTimerMax && dayEnded == false && _root.eolBuffer < 0)
  1171.    {
  1172.       dayEnded = true;
  1173.       gameActive = false;
  1174.       newUpgradeScreen();
  1175.    }
  1176. }
  1177. function destroyAllEnemy()
  1178. {
  1179.    var _loc1_ = 0;
  1180.    while(_loc1_ < enemyArray_ALL.length)
  1181.    {
  1182.       enemyArray_ALL[_loc1_].removeMovieClip();
  1183.       _loc1_ = _loc1_ + 1;
  1184.    }
  1185.    setEnemyArray();
  1186. }
  1187. function newUpgradeScreen()
  1188. {
  1189.    attachMovie("Upgrader","UPGRADER",getNextHighestDepth());
  1190.    attachMovie("UpgradeMask","UPGRADERMASK",getNextHighestDepth());
  1191.    UPGRADERMASK._xscale = 125;
  1192.    UPGRADERMASK._yscale = 125;
  1193.    UPGRADERMASK._x = -400;
  1194.    UPGRADERMASK._y = -150;
  1195.    UPGRADER.setMask(UPGRADERMASK);
  1196.    mouseMC.swapDepths(getNextHighestDepth());
  1197. }
  1198. function itemUnlock()
  1199. {
  1200.    if(_root.roundNum == 2)
  1201.    {
  1202.       W_C._visible = true;
  1203.       HUDBAR.W_C._alpha = 100;
  1204.    }
  1205.    else if(_root.roundNum != 2)
  1206.    {
  1207.       if(_root.roundNum == 4)
  1208.       {
  1209.          _root.flameUpgrade = 1;
  1210.          Flame._visible = true;
  1211.          HUDBAR.FlameStill._alpha = 40;
  1212.       }
  1213.       else if(_root.roundNum == 5)
  1214.       {
  1215.          _root.dropUpgrade = 1;
  1216.          Water._visible = true;
  1217.          HUDBAR.Water._alpha = 40;
  1218.       }
  1219.       else if(_root.roundNum != 6)
  1220.       {
  1221.          if(_root.roundNum == 7)
  1222.          {
  1223.          }
  1224.       }
  1225.    }
  1226. }
  1227. function spawnControl()
  1228. {
  1229.    if(_root.roundTimer > 50)
  1230.    {
  1231.       _root.bombVis = undefined;
  1232.       if(_root.roundNum == 1)
  1233.       {
  1234.          if(random(30) == 0)
  1235.          {
  1236.             newEnemy("blob",random(4));
  1237.          }
  1238.       }
  1239.       else if(_root.roundNum == 2)
  1240.       {
  1241.          if(random(60) == 0)
  1242.          {
  1243.             newEnemy("blob",random(4));
  1244.          }
  1245.          if(random(100) == 0)
  1246.          {
  1247.             newEnemy("bird",random(4));
  1248.          }
  1249.       }
  1250.       else if(_root.roundNum == 3)
  1251.       {
  1252.          if(random(100) == 0)
  1253.          {
  1254.             newEnemy("blob",random(4));
  1255.          }
  1256.          if(random(150) == 0)
  1257.          {
  1258.             newEnemy("bird",random(4));
  1259.          }
  1260.          if(random(200) == 0)
  1261.          {
  1262.             newEnemy("roller",random(4));
  1263.          }
  1264.       }
  1265.       else if(_root.roundNum == 4)
  1266.       {
  1267.          if(random(160) == 0)
  1268.          {
  1269.             newEnemy("blob",random(4));
  1270.          }
  1271.          if(random(220) == 0)
  1272.          {
  1273.             newEnemy("bird",random(4));
  1274.          }
  1275.          if(random(260) == 0)
  1276.          {
  1277.             newEnemy("roller",random(4));
  1278.          }
  1279.          if(random(260) == 0)
  1280.          {
  1281.             newEnemy("shmallow",random(4));
  1282.          }
  1283.       }
  1284.       else if(_root.roundNum == 5)
  1285.       {
  1286.          if(random(200) == 0)
  1287.          {
  1288.             newEnemy("blob",random(4));
  1289.          }
  1290.          if(random(250) == 0)
  1291.          {
  1292.             newEnemy("bird",random(4));
  1293.          }
  1294.          if(random(270) == 0)
  1295.          {
  1296.             newEnemy("roller",random(4));
  1297.          }
  1298.          if(random(270) == 0)
  1299.          {
  1300.             newEnemy("shmallow",random(4));
  1301.          }
  1302.          if(random(270) == 0)
  1303.          {
  1304.             newEnemy("vamp",random(4));
  1305.          }
  1306.       }
  1307.       else if(_root.roundNum == 6)
  1308.       {
  1309.          if(random(250) == 0)
  1310.          {
  1311.             newEnemy("blob",random(4));
  1312.          }
  1313.          if(random(250) == 0)
  1314.          {
  1315.             newEnemy("bird",random(4));
  1316.          }
  1317.          if(random(250) == 0)
  1318.          {
  1319.             newEnemy("roller",random(4));
  1320.          }
  1321.          if(random(250) == 0)
  1322.          {
  1323.             newEnemy("shmallow",random(4));
  1324.          }
  1325.          if(random(250) == 0)
  1326.          {
  1327.             newEnemy("vamp",random(4));
  1328.          }
  1329.          if(random(250) == 0)
  1330.          {
  1331.             newEnemy("dino",random(4));
  1332.          }
  1333.       }
  1334.       else if(_root.roundNum != "O")
  1335.       {
  1336.          if(random(260 - _root.roundNum * 3) == 0)
  1337.          {
  1338.             newEnemy("blob",random(4));
  1339.          }
  1340.          if(random(260 - _root.roundNum * 3) == 0)
  1341.          {
  1342.             newEnemy("bird",random(4));
  1343.          }
  1344.          if(random(260 - _root.roundNum * 3) == 0)
  1345.          {
  1346.             newEnemy("roller",random(4));
  1347.          }
  1348.          if(random(260 - _root.roundNum * 3) == 0)
  1349.          {
  1350.             newEnemy("shmallow",random(4));
  1351.          }
  1352.          if(random(260 - _root.roundNum * 3) == 0)
  1353.          {
  1354.             newEnemy("vamp",random(4));
  1355.          }
  1356.          if(random(260 - _root.roundNum * 3) == 0)
  1357.          {
  1358.             newEnemy("dino",random(4));
  1359.          }
  1360.          if(random(260 - _root.roundNum * 3) == 0)
  1361.          {
  1362.             newEnemy("bloon",random(4));
  1363.          }
  1364.       }
  1365.    }
  1366. }
  1367. function introMovie()
  1368. {
  1369.    if(introMC.startHud == true)
  1370.    {
  1371.       raiseHud = true;
  1372.    }
  1373.    if(raiseHud == true)
  1374.    {
  1375.       HUDBAR._y += (HUDBAR.yPos - HUDBAR._y) / 5;
  1376.       if(shipHealth._alpha < 100)
  1377.       {
  1378.          shipHealth._alpha += 10;
  1379.       }
  1380.       if(Math.round(HUDBAR._y) == Math.round(HUDBAR.yPos))
  1381.       {
  1382.          Pin._visible = true;
  1383.       }
  1384.    }
  1385. }
  1386. function outPutText()
  1387. {
  1388.    Border.pText = "Press SPACE to pause";
  1389. }
  1390. function eolBuffer(xPos)
  1391. {
  1392.    if(xPos < 800)
  1393.    {
  1394.       _root.eolBuffer = 25;
  1395.    }
  1396. }
  1397. stop();
  1398. _root.money = 0;
  1399. _root.moneyPot = 0;
  1400. _root.maxHealth = 100;
  1401. _root.health = 100;
  1402. _root.healthPot = 0;
  1403. _root.shipRepair = 1;
  1404. _root.turretActive = false;
  1405. _root.dropUpgrade = 0;
  1406. _root.flameUpgrade = 0;
  1407. _root.nailUpgrade = 0;
  1408. _root.pirateActive = 0;
  1409. _root.pirateTrain = 0;
  1410. _root.pirateShootTime = 100;
  1411. _root.pirateAmmo = 20;
  1412. var pirateArray = new Array();
  1413. var p = 1;
  1414. while(p < 5)
  1415. {
  1416.    this["pirateMan" + p].active = true;
  1417.    this["pirateMan" + p]._visible = false;
  1418.    this["pirateMan" + p].shootTime = 0;
  1419.    this["pirateMan" + p].maxHealth = _root.pirateAmmo;
  1420.    pirateArray.push(this["pirateMan" + p]);
  1421.    p++;
  1422. }
  1423. Mouse.hide();
  1424. _root.roundTimerMax = 1400;
  1425. bCount = -200;
  1426. gameState = 0;
  1427. deadTimer = 80;
  1428. _root.gamePaused = false;
  1429. _root.pScreen._x = -10000;
  1430. gamePauseSwitch = false;
  1431. Border.pauseText = "Press Space to pause";
  1432. _quality = "medium";
  1433. var i = 0;
  1434. while(i < 5)
  1435. {
  1436.    createEmptyMovieClip("ELAYER_" + i,getNextHighestDepth());
  1437.    i++;
  1438. }
  1439. createEmptyMovieClip("WEAPONS",getNextHighestDepth());
  1440. createEmptyMovieClip("EFFECTS",getNextHighestDepth());
  1441. castlePoint = 250;
  1442. _root.weaponDepth = 200;
  1443. var enemyArray_blob = new Array();
  1444. var enemyArray_shmallow = new Array();
  1445. var enemyArray_roller = new Array();
  1446. var enemyArray_dino = new Array();
  1447. var enemyArray_bird = new Array();
  1448. var enemyArray_bloon = new Array();
  1449. var enemyArray_vamp = new Array();
  1450. var enemyArray_ALL = new Array();
  1451. var enemyArray_GROUND = new Array(enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  1452. var enemyArray_AIR = new Array(enemyArray_vamp,enemyArray_bloon,enemyArray_bird,enemyArray_blob,enemyArray_shmallow,enemyArray_dino,enemyArray_roller);
  1453. enemyCounter = 0;
  1454. var enemyArray_turret = new Array();
  1455. var enemyArray_bomb = new Array();
  1456. clearTimer = 0;
  1457. shakeAmmount = 0;
  1458. shakeTime = 0;
  1459. var controlWindPower = (random(600) - 300) / 100;
  1460. var controlWingAngle = 0;
  1461. var controlWingAngleDivTen = 0;
  1462. var controlWingSwitch = false;
  1463. MovieClip.prototype.skew = function(_xskew, _yskew, base_xscale, base_yscale)
  1464. {
  1465.    this._xskew = _xskew;
  1466.    this._yskew = _yskew;
  1467.    if(arguments.length == 2)
  1468.    {
  1469.       base_xscale = 100;
  1470.       base_yscale = 100;
  1471.    }
  1472.    if(!this.inner_mc)
  1473.    {
  1474.       for(var _loc3_ in this)
  1475.       {
  1476.          if(typeof this[_loc3_] == "movieclip")
  1477.          {
  1478.             this.inner_mc = this[_loc3_];
  1479.             break;
  1480.          }
  1481.       }
  1482.       if(!this.inner_mc)
  1483.       {
  1484.          trace("No interior clip for skewing found in " + this._name + ".");
  1485.          undefined;
  1486.          return undefined;
  1487.       }
  1488.       this.inner_mc._rotation = -45;
  1489.    }
  1490.    var _loc5_ = 0.017453292519943295;
  1491.    var _loc8_ = _xskew * _loc5_;
  1492.    var _loc7_ = _yskew * _loc5_;
  1493.    var _loc6_ = Math.cos(_loc8_);
  1494.    var _loc9_ = Math.cos(_loc7_);
  1495.    this._rotation = 45 + (_xskew + _yskew) / 2;
  1496.    var _loc4_ = Math.sin(this._rotation * _loc5_) * 0.707106781186547;
  1497.    if(!_loc4_)
  1498.    {
  1499.       _loc4_ = 1e-7;
  1500.    }
  1501.    this._xscale = 100 * (Math.sin(_loc7_) + _loc6_) / _loc4_;
  1502.    this._yscale = 100 * (Math.sin(_loc8_) + _loc9_) / _loc4_;
  1503.    this.inner_mc._xscale = base_xscale * 0.5 / _loc9_;
  1504.    this.inner_mc._yscale = base_yscale * 0.5 / _loc6_;
  1505. };
  1506. var controlSkewAngle = 0;
  1507. var controlSkewSwitch = false;
  1508. var controlSkewAngleDivTen = 0;
  1509. var mouseState = 1;
  1510. var mouseHold = 0;
  1511. changeStateFlag = 0;
  1512. mouseMC.stop();
  1513. hurtShip(0);
  1514. var coinArray = new Array();
  1515. _root.enemyTimer_flyBuffer = 30;
  1516. _root.enemyTimer_groundBuffer = 30;
  1517. _root.roundNum = 0;
  1518. newDay();
  1519. SHIP._visible = false;
  1520. outTextCount = 0;
  1521. _root.outTextBuffer = 0;
  1522.